package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc QueryToBeReportedTaskStandardDataDetailComReqDto
 * @使用场景
 */
@Data
public class QueryToBeReportedTaskStandardDataDetailComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 被评对象目标周期ID
     */
    @NotNull(message = "被评对象目标周期ID不能为空")
    @ApiModelProperty("被评对象目标周期ID")
    private String evaObjTargetCycleId;

    /**
     * 周期ID
     */
    @NotNull(message = "周期ID不能为空")
    @ApiModelProperty("周期ID")
    private String cycleId;

    /**
     * 实际值计算公式 SYSTEM_DOCKING:系统对接实际值 MANUAL_REPORT:人工填报实际值 CLONE_EVA_OBJECT:人工填报实际值克隆评价对象树 CLONE_OKR_PERSONE:人工填报实际值克隆OKR个人树 RIGHTWARD_CALCULATION:人工填报实际值克隆末级周期 RIGHTWARD_CALCULATION_SUM:人工填报实际值末级周期求和 DOWNWARD_CALCULATION_SUM:向下计算参照值不赋值（求和） DOWNWARD_CALCULATION_SUM_COPY:向下计算参照值并赋值（求和） DOWNWARD_CALCULATION_WEIGHT:向下计算参照值不赋值（权重求和） DOWNWARD_CALCULATION_WEIGHT_COPY:向下计算参照值并赋值（权重求和）
     */
    @ApiModelProperty("实际值计算公式")
    private String actualValueCalcFormula;

    /**
     * 进度值元素
     */
    @ApiModelProperty("进度值元素")
    private Long progressValueElement;

    /**
     * 进度值后端元素
     */
    @ApiModelProperty("进度值后端元素")
    private String progressValueInterFaceElement;

    /**
     * 实际值元素
     */
    @ApiModelProperty("实际值元素")
    private Long actualValueElement;

    /**
     * 实际值后端元素
     */
    @ApiModelProperty("实际值后端元素")
    private String actualValueInterFaceElement;

    /**
     * 是否自动汇报 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否自动汇报不能为空")
    @ApiModelProperty("是否自动汇报")
    private String isAutoReport;

    /**
     * 是否末级指标 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否末级指标不能为空")
    @ApiModelProperty("是否末级指标")
    private String isLastObjective;

    /**
     * 是否末级周期 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否末级周期不能为空")
    @ApiModelProperty("是否末级周期")
    private String isLastCycle;

    /**
     * 冗余评价模板ID
     */
    @NotNull(message = "冗余评价模板ID不能为空")
    @ApiModelProperty("冗余评价模板ID")
    private String evaluationTemplateId;

}
